Portable data storage device

ABSTRACT

A portable data storage device ( 10 ) includes a universal serial bus (USB) coupling device ( 1 ) and an interface device ( 2 ) is coupled to the USB coupling device ( 1 ). The portable data storage device ( 10 ) also includes a memory control device ( 3 ) and a non-volatile solid-state memory device ( 4 ). The memory control device ( 3 ) is coupled between the interface device ( 2 ) and the memory device ( 4 ) to control the flow of data from the memory device ( 4 ) to the USB coupling device ( 1 ).

The invention relates to a portable data storage device, and inparticular, a portable data storage device for a computer.

Conventional data storage devices generally fall into two categories.The first category is electronic, solid-state memory devices such asread only memory (ROM) and random access memory (RAM). These memorydevices are generally fitted within the computer. They are not intendedto be removable or portable so that they may be used on differentcomputers, for example, to permit the transfer of data from one computerto another computer.

The second type of device is surface based data storage devices in whichdata is stored, typically, on the surface of a disk or tape. Examples ofsurface storage devices are magnetic disks and CD ROMs. Such datastorage devices require a mechanical drive mechanism to be installed inor coupled to the computer to permit the data on the storage device tobe read by the computer. In addition, such memory devices are limited bythe surface area of the storage device, and the combination of thestorage device and the drive mechanism for reading data from the storagedevice is generally bulky and/or delicate due to the moving parts thatare required within the drive mechanism and/or storage device.

In accordance with the present invention, there is provided a portabledata storage device comprising a coupling device for coupling to acomputer serial bus, an interface device coupled to the coupling-device,a memory control device and a non-volatile solid-state memory device;the memory control device being coupled between the interface device andthe memory device to control the flow of data from the memory device tothe coupling device.

An advantage of the invention is that by providing a portable datastorage device comprising a coupling device with an interface device,memory control device and a non-volatile solid-state memory device, itis possible to provide a portable data storage device which may becoupled to a computer having a serial bus port and which does notinclude moving parts or require a mechanical drive mechanism to read thedata from the data storage device.

Preferably, the non-volatile solid-state memory device may be aread/write memory device, such as a flash memory device.

Preferably, where the memory device is a read/write memory device, thememory control device controls the flow of data to and from the memorydevice.

Typically, the data storage device further comprises a manually operatedswitch movable between a first position in which writing of data to thememory device is enabled, and a second position in which writing of datato the memory device is prevented.

Preferably, the memory control device may include a read only memorywhich stores a program to control the operation of the memory controldevice. Preferably, the memory control device is a micro-controller.

Typically, the interface device comprises a universal serial bus (USB)driver to convert data between a USB format and a PC format, and thecoupling device comprises a USB coupling device.

Alternatively, the interface device comprises a driver for IEEE 1394(Firewire) protocol, and the coupling device comprises a Firewirecoupling device.

An example of a data storage device in accordance with the inventionwill now be described to the accompanying drawings, in which:

FIG. 1 is a schematic block diagram of a portable data storage device;

FIG. 2 is a flow diagram showing the initial setup of the data storagedevice by a software supplier;

FIG. 3 is a flow diagram showing the initial setup of the data storagedevice by an end user; and

FIG. 4 is a flow diagram showing operation of the data storage device.

FIG. 1 shows a data storage device 10 which includes a USB plug 1 whichis coupled to a USB interface device 2. The USB interface device 2 iscoupled to a micro-controller 3 which is coupled to a flash memory 4.The micro-controller 3 includes a read only memory (ROM) 5 which storesa program to control the operation of the micro-controller 3.

The operations performed by the micro-controller 3 include comparingpasswords entered by a user with a corresponding password stored in theflash memory 4 to determine whether the user is authorised to access thecontents of the flash memory 4. The program stored in the ROM 5 alsocontrols the data flow to and from the flash memory 4 and can alsodetect whether the computer to which the memory device 1 is coupled hasinstalled software programs which correspond to passwords stored in theflash memory 4. The micro-controller 3 can automatically retrievepasswords from the installed software to compare with passwords storedin the flash memory to verify that a user of the computer is authorisedto access and run the software. In addition, the program stored in theROM 5 also permits the setting of a password in the flash memory by asoftware supplier to correspond to the password contained in softwaresupplied to a user. Typically, the password may correspond to the serialnumber of the software.

The flash memory 4 is typically divided into a number of differentsections or zones. Typically, the flash memory is divided into two zonesand each zone has a unique password. If the data storage device 10 issupplied with packaged software, the software serial number can be setin one zone to be the password to permit a user to access and use thesoftware. The other zone, which can be used typically for storing auser's data, may have a separate password which is set by the user.Typically, the passwords are stored in a secure location of the flashmemory in an encrypted form. The encryption, decryption, data flowcontrol and USB protocol are all managed by the micro-controller 3.

The micro-controller 3 also includes a random access memory (RAM) 6which is a temporary storage area to permit functioning of themicro-controller 3. In addition, a manual switch 7 is coupled betweenthe flash memory 4 and the micro-controller 3. The manual switch 7 ismovable between a first position in which a user may write data to theflash memory 4 and a second position in which data is prevented frombeing written to the flash memory 4.

The device 10 also includes a USB socket 8 that is coupled directly tothe USB plug 1 and permits other USB devices to be coupled to the USBvia the device 10. For example, if a user wishes to increase memoryspace, a USB plug 1 of a second memory device 10 may be connected to theUSB socket 8.

FIG. 2 is a flow diagram showing the set up procedure for the device 10for a software supplier when the software supplier intends to supply thedevice as an authentication device for the software. Firstly, the plug 1of the device 10 is plugged into 20 to a USB socket on a computer. Afterthe device 10 has been plugged into the USB socket on the computer, acommunication is established 21 between the computer and the device 10.The software supplier has pre-installed installation software on thecomputer which is run by the operator. From the pre-installed software,the operator selects password set up installation 22, in response towhich the pre-installed software requests the operator to enter apassword or serial number corresponding to the software with which thedevice 10 is to be supplied. The password or serial number is thenencrypted 26 and stored 27 in the flash memory 4.

FIG. 3 is a flow diagram showing the initial set-up of a password forzone 2 of the flash memory 4 by an end user. The device 10 is typicallysupplied with driver software that is loaded by the user onto thecomputer prior to set-up of the device. To set-up the password for zone2 the user plugs in 20 the device 10 into a USB port on the computer andcommunication 21 is established between the computer and the device 10.The user then runs the driver software and the driver software enters apassword installation set-up mode 23 for zone 2. The user then enters 28a password that they wish to use to prevent unauthorised access to zone2 of the flash memory 4. The password entered is then encrypted 29 andstored 30 in the flash memory 4.

After an end user has performed the initial password set up proceduredescribed above and shown in FIG. 3, when a user plugs in 20 the device10 to a USB port on a computer, the computer will establish acommunication 21 with the device 10 and firstly, checks 33 aninstallation status flag stored in the flash memory 4 (see FIG. 4) Ifthe status flag is “Y”, the device 10 outputs 34 an “OK” flag to thecomputer. The micro-controller 3 the instructs the computer to issue arequest 35 to the user to select the zone they wish to enter. If thestatus flag is “N”, the device does not output an “OK” flag to thecomputer, and goes straight to step 35. In response to the request 35for zone selection, the user selects 36 either zone 1 or zone 2.

If zone 1 is selected, the device 10 assumes that the user wishes toinstall software on the computer which is stored in the flash memory 4and requests 37 the appropriate password for confirmation that the useris authorised to install the software. The micro-controller 3 receivesthe password entered by the user, retrieves the zone 1 password storedin the flash memory 4, decrypts the zone 1 password and compares it withthe password entered by the user to authenticate 38 whether the user isauthorised to install the software. If the passwords do not match, thedevice 10 prompts the computer to request 37 the user to enter thepassword again.

If the password entered by the user matches the password stored in theflash memory 4, the micro-controller 3 starts 39 the softwareinstallation from the flash memory 4 to the computer. In order toinstall software, the computer sends 40 a read/write command in USBformat to the micro-controller 3 for data, the micro-controller 3retrieves the requested data from the flash memory 4 and sends 41 thedata to the driver 2. The driver 2 converts 42 the data to PC format andoutputs the data to the computer through the USB plug 1. Themicro-controller 3 then checks 43 whether the software installation iscomplete. If the operation is not complete, the operation returns tostep 40. If the installation of the software is complete, the statusflag stored in the flash memory 4 is changed to “Y” and the device 10may then be removed 45 from the USB socket on the computer.

If a user selects zone 2, the micro-controller 3 sends a command to thecomputer to request 46 the user to enter the password for zone 2. Whenthe user enters the password, the computer sends the password to themicro-controller 3. The micro-controller 3 retrieves the password forzone 2 from the flash memory 4, decrypts 47 the password and compares itwith the password entered by the user. If the password entered by theuser is incorrect, the operation returns to step 46 and the computerrequests 46 the user for the password again.

If the password entered by the user is correct, the user has access tozone 2 of the flash memory 4 to read data from the flash memory 4 and towrite data to the flash memory 4. However, data can only be written tothe flash memory 4 if the manual switch 7 is in the position to permitdata to be written to the flash memory 4. In order to read or write datafrom or to the flash memory 4 a read or write command is sent 48 by thecomputer in USB format to the micro-controller 3. In response to theread or write command the micro-controller 3 either retrieves 49 datafrom the flash memory 4 and sends it to the driver 2 for conversion 50to PC format and then to be output to the computer or receives data fromthe driver to write it to the flash memory 4.

The micro-controller 3 then determines 51 whether the read or writeoperation is complete. If the operation is not complete it returns tostep 48. If the operation is complete the operation terminates 52.

The device 10 described above is for coupling to a universal serial bus(USB). However, the plug 1, the interface device 2 and socket 8 could befor use with any appropriate computer serial bus. For example, thedevice 10 could be modified for use with IEEE 1394 (Firewire) protocolby substituting the USB plug 1, USB interface device 2 and socket 8 witha Firewire protocol compatible plug, interface device and socketrespectively.

An advantage of the device 10 described above is that it provides aportable data storage device for a computer which does not require amechanical operated reading/writing device. In addition, the device 10has no moving parts. This enables to data storage device 10 to be morecompact than conventional portable data storage devices.

1. A portable data storage device comprising a coupling device forcoupling to a computer serial bus, an interface device coupled to thecoupling device, a memory control device and a non-volatile solid-statememory device; the memory control device being coupled between theinterface device and the memory device to control the flow of data fromthe memory device to the coupling device.
 2. A device according to claim1, wherein the non-volatile solid-state memory device is a read/writememory device.
 3. A device according to claim 2, wherein the read/writememory device is a flash memory device.
 4. A device according to claim 2or claim 3, wherein the memory control device controls the flow of datato and from the memory device.
 5. A device according to any of claims 2to 4, further comprising a manually operated switch movable between afirst position in which writing of data to the memory device is enabled,and a second position in which writing of data to the memory device isprevented.
 6. A device according to any of the preceding claims, whereinthe memory control device comprises a micro-controller.
 7. A deviceaccording to any of the preceding claims, wherein the coupling devicecomprises a universal serial bus coupling device and the interfacedevice comprises a USB driver.
 8. A device according to any of thepreceding claims, wherein the coupling device comprises an IEEE 1394(Firewire) protocol coupling device and the interface device is aFirewire protocol driver.